home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / usr / share / pyshared / gnutls / constants.py < prev    next >
Encoding:
Python Source  |  2007-10-09  |  1.4 KB  |  55 lines

  1. # Copyright (C) 2007 AG Projects. See LICENSE for details.
  2. #
  3.  
  4. """GNUTLS constants"""
  5.  
  6. __all__ = [
  7.     ## GNUTLS session protocols
  8.     'PROTO_TLS1_1', 'PROTO_TLS1_0', 'PROTO_SSL3',
  9.     
  10.     ## Key exchange algorithms
  11.     'KX_RSA', 'KX_DHE_DSS', 'KX_DHE_RSA', 'KX_RSA_EXPORT', 'KX_ANON_DH',
  12.     
  13.     ## Ciphers
  14.     'CIPHER_AES_128_CBC', 'CIPHER_3DES_CBC', 'CIPHER_ARCFOUR_128', 'CIPHER_AES_256_CBC', 'CIPHER_DES_CBC',
  15.     
  16.     ## MAC algorithms
  17.     'MAC_SHA1', 'MAC_MD5', 'MAC_RMD160',
  18.     
  19.     ## Compressions
  20.     'COMP_DEFLATE', 'COMP_LZO', 'COMP_NULL',
  21.  
  22.     ## Credential types
  23.     'CRED_CERTIFICATE', 'CRED_ANON',
  24.  
  25.     ## X509 certificate/private key formats
  26.     'X509_FMT_DER', 'X509_FMT_PEM',
  27.  
  28.     ## Miscellaneous
  29.     'CERT_REQUEST', 'CERT_REQUIRE', 'SHUT_RDWR', 'SHUT_WR'
  30. ]
  31.  
  32. __name_map__ = {
  33.     'PROTO_TLS1_1': 'TLS1_1', 'PROTO_TLS1_0': 'TLS1_0', 'PROTO_SSL3': 'SSL3',
  34.     'CRED_CERTIFICATE': 'CRD_CERTIFICATE', 'CRED_ANON': 'CRD_ANON'
  35. }
  36.  
  37.  
  38. from gnutls.library import constants
  39.  
  40. class GNUTLSConstant(int):
  41.     def __new__(cls, name):
  42.         gnutls_name = 'GNUTLS_' + __name_map__.get(name, name)
  43.         instance = int.__new__(cls, getattr(constants, gnutls_name))
  44.         instance.name = name
  45.         return instance
  46.     def __repr__(self):
  47.         return self.name
  48.  
  49. ## Generate all exported constants
  50. code = '\n'.join(["%s = GNUTLSConstant('%s')" % (name, name) for name in __all__])
  51. exec code in locals(), globals()
  52. del code, name
  53.  
  54. del constants
  55.